﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Negocio.Admin;
using Negocio.Auxiliar;

namespace qbaproject.Admin.Editar
{
    public partial class editarAdmin : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                if (Request.QueryString["id"] != null)
                {
                    hdfIdAdministrador.Value = Request.QueryString["id"].ToString();
                    preencherTela();
                }
                carregarDdl();
            }
        }

        public void carregarDdl()
        {
            var obNStatus = new NStatus();
            var obNTipoUsuario = new NTipoUsuario();

            //Carregar status
            ddlStatus.DataSource = obNStatus.pegarTodosStatus();
            ddlStatus.DataBind();
            ddlStatus.Items.Insert(0, new ListItem("Selecionar o Status", "0"));

            //Carregar tipo usuario
            ddlTipoUsuario.DataSource = obNTipoUsuario.pegarTodosTiposUsuarios();
            ddlTipoUsuario.DataBind();
            ddlTipoUsuario.Items.Insert(0, new ListItem("Selecionar o Tipo Usuário", "0"));

        }

        public void preencherTela()
        {
            var obNAdmin = new NAdministrador();
            obNAdmin.idUsuarioAdministracao = Convert.ToInt32(hdfIdAdministrador.Value);
            obNAdmin.pegarAdministradorPorId();
            txtTeEmail.Text = obNAdmin.teEmail;
            txtNmAdministrador.Text = obNAdmin.nmUsuarioAdministracao;
            ddlStatus.SelectedValue = obNAdmin.csStatus.ToString();
            ddlTipoUsuario.SelectedValue = obNAdmin.csTipoUsuario.ToString();
        }

        protected void lnk_Click(object sender, EventArgs e)
        {
            Response.Redirect("~/Admin/Consultar/consultarAdmin.aspx");
        }

        protected void lkbAlterar_Click(object sender, EventArgs e)
        {
            if (verificarForm())
            {
                var obNAdmin = new NAdministrador();
                obNAdmin.nmUsuarioAdministracao = txtNmAdministrador.Text;
                obNAdmin.teEmail = txtTeEmail.Text;
                obNAdmin.csStatus = Convert.ToInt32(ddlStatus.SelectedValue);
                obNAdmin.csTipoUsuario = Convert.ToInt32(ddlTipoUsuario.SelectedValue);
                if (obNAdmin.Alterar(Convert.ToInt32(hdfIdAdministrador.Value)))
                {
                    divMsnEditarSucesso.Visible = true;
                    divMsnEditarAtencao.Visible = false;
                }
                else
                {
                    divMsnEditarSucesso.Visible = false;
                    divMsnEditarAtencao.Visible = true;
                }
            }
        }

        public bool verificarForm()
        {
            var boForm = true;

            if (string.IsNullOrEmpty(txtNmAdministrador.Text))
            {
                boForm = false;
                lblNmAdminObrigatorio.Text = "Nome do administrador é obrigatório!";
            }
            else
            {
                lblNmAdminObrigatorio.Text = "";
            }

            if (string.IsNullOrEmpty(txtTeEmail.Text))
            {
                boForm = false;
                lblTeEmailObrigatorio.Text = "Email é obrigatório!";
            }
            else
            {
                lblTeEmailObrigatorio.Text = "";
            }

            if (ddlStatus.SelectedValue == "0")
            {
                boForm = false;
                lblDdlStatusObrigatorio.Text = "Status é obrigatório!";
            }
            else
            {
                lblDdlStatusObrigatorio.Text = "";
            }

            if (ddlTipoUsuario.SelectedValue == "0")
            {
                boForm = false;
                lblDdlTipoUsuarioObrigatorio.Text = "Tipo de Usuário é obrigatório!";
            }
            else
            {
                lblDdlTipoUsuarioObrigatorio.Text = "";
            }


            return boForm;
        }
    }
}